1. Field of the Invention
The present invention relates to a terminal and a process for self-diagnosis or supervision and the portable object of the microcircuit card or so called "smart card" type used in a process or terminal or reader of this type. Such portable objects comprise a central processor, a program memory containing an executable code constituting the operating system, a non-volatile and programmable data memory, and one or more communication interfaces. The terminal is a device equipped with an interface compatible with the portable object; and include a central processor and software that is capable of communicating and operating on the data issuing from the non-volatile data of the portable object.
2. Description of Related Art
In general, terminals adapted to cooperate with microcircuit cares, i.e. smart cards are equipped with specific software corresponding to their utilization, for example portable payment terminals are equipped with an operating program of the banking type. This software is produced or specified by the institution that manages this application; in the example cited, this is a banking institution. The institution that manages the application is generally not the manufacturer of the terminal; but purchases or orders the manufacture of the hardware part, that is the terminal, and it installs the specific program into it in order to configure its terminal for its own application. The banking institution thereby has the advantage of purchasing a standard, and therefore inexpensive, product and adapting it according to its needs. The manufacturer offers a basic model which can be suited to a plurality of applications, which enables it to expand its market.
An institution running a given application may wish to use a plurality of card reader terminal models. Because it is not desirable to develop application software for each of the terminals manufacturers generally implement a basic software layer that ensures the interface between the hardware and the application software. This software layer enables the same application software to be adapted to different terminals. One way to do this is to create an interpreter so that the institution can develop its application in a well-known high-level language, nearly independent of the constraints of the hardware. Another way to do this is to set up a low-level software layer that manages all the hardware input-outputs and to make available to the operating institution a library of primitives that the application software will call.
In all cases, it must be possible to validate or to test the terminal in its entirety. The validation or testing of the terminal must take into account both parts: the hardware with its basic software and the application software. A self-test makes it possible to verify each device of the terminal. The self test is generally constituted by a routine implemented in the basic software. The testing of the application software must be done in the laboratory. Accordingly, it is important in this type of application to properly verify the operation of the program before it is placed in service. However, due to the multiplicity of cards available for use a very large number of specific cases are not reproducible in the laboratory.